Cloud service providers (CSPs) operate cloud computing infrastructure using multiple datacenters. High capacity links interconnect the datacenters. Most CSPs lease the links from network operators. Typical contractual arrangements require the CSP to pay for bandwidth consumed over the link. For example, the network operator charges the CSP by the value of the 95th percentile value of the peak bandwidth consumed on the link. There are other known billing models. In each instance, however, the CSP incurs additional cost when there are higher peaks in bandwidth consumption.
Studies indicate that traffic on such high capacity links typically follows a diurnal pattern. The typical billing model under which a CSP pays for peak usage and the typical traffic pattern combine in a disadvantageous way for the CSPs. On the one hand, the CSPs are paying for peak usage. On the other hand, there are other times when a significant amount of bandwidth capacity is left unused.
It would be useful to improve the CSPs use of available capacity while minimizing cost. A solution to this problem, however, is not straightforward. One proposed solution includes scheduling bulk data jobs for off-peak times over the link between datacenters. This so-called water-filling technique typically includes the assumption that bulk data jobs are elastic and pre-emptible. It is typically assumed that bulk data jobs can be commanded to occupy any amount of bandwidth specified by the CSP. In reality, however, there is no practical example of an application that is truly elastic and truly pre-emptible, especially for datacenter traffic where bandwidths span several gigabits per second and the time scales are of the order of several minutes.